package org.dbi.beans;

import java.util.HashMap;

import org.dbi.logger.*;

public class Database {
	private String naam = "";
	private HashMap<String, Tabel> tabellen;
	private ErrorLogger logger = ErrorLogger.getLogger(getClass().getName());

	public Database(String naam) {
		this.naam = naam;
		tabellen = new HashMap<String, Tabel>();
		logger.info("Database " + naam + " aangemaakt");
	}

	public String getNaam() {
		return naam;
	}

	public void setNaam(String naam) {
		this.naam = naam;
	}

	public HashMap<String, Tabel> getTabellen() {
		return tabellen;
	}

	public void addTabellen(HashMap<String, Tabel> tabellen) {
		if (tabellen.size() != 0 && tabellen != null) {
			for (Tabel tbl : tabellen.values()) {
				addSingleTabel(tbl);
			}
		}
	}

	public void addSingleTabel(Tabel tbl) {
		if (!this.tabellen.containsKey(tbl.getNaam())) {
			logger.info("Tabel: " + tbl.getNaam() + " toegevoegd aan database: " + getNaam());
			this.tabellen.put(tbl.getNaam(), tbl);
		} else {
			logger.info("Tabel: " + tbl.getNaam() + " bestaat al in database: " + getNaam());
		}
	}
	
	public boolean dropTabel(String tabelNaam){
		tabellen.remove(tabelNaam);
		logger.info("Tabel " + tabelNaam + " is verwijderd uit database "+ getNaam());
		return true;
	}
}
